package com.dzl.enterprise.service;

import com.dzl.base.query.BaseQuery;
import com.dzl.base.service.BaseService;
import com.dzl.enterprise.pojo.WelfareEnterprise;
import com.dzl.enterprise.pojo.dto.WelfareEnterpriseSaveDto;
import com.dzl.enterprise.pojo.vo.WelfareEnterpriseVo;
import com.github.pagehelper.PageInfo;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 企业/saas账号管理(WelfareEnterprise)表服务接口
 * @author liuguanjun
 * @since 2021-09-06 14:45:00
 */
public interface WelfareEnterpriseService extends BaseService<WelfareEnterprise> {

    /**
     * 分页查询Saas账号列表
     * @date 2021-09-06 14:45:00
     * @author liuguanjun
     * @param query 查询条件
     */
    PageInfo<WelfareEnterpriseVo> selectWelfareEnterpriseListPage(BaseQuery query);

    /**
     * 根据域名domain查询Saas企业信息
     * @date 2021-09-07 10:26:00
     * @author liuguanjun
     * @param domain 企业域名
     */
    WelfareEnterprise selectWelfareEnterpriseByDomain(String domain);

    /**
     * 根据企业id查询Saas企业账号信息
     * @date 2021-09-07 10:26:00
     * @author liuguanjun
     * @param id 企业id
     */
    WelfareEnterpriseVo selectWelfareEnterpriseById(Integer id);

    /**
     * 保存Saas账号
     * @date 2021-09-06 14:45:00
     * @author liuguanjun
     * @param welfareEnterprise Saas账号数据对象
     * @return Integer 影响条数
     */
    Integer saveWelfareEnterprise(WelfareEnterpriseSaveDto welfareEnterprise);

    /**
     * 开启API权限
     * @date 2021-11-23 16:06:00
     * @author liuguanjun
     * @param enterpriseId 企业id
     */
    Map openWelfareEnterpriseApi(Integer enterpriseId);

    /**
     * 保存公司充值的积分
     * @date 2021/9/8 0008 9:43
     * @author wangjian
     * @param id 公司ID
     * @param amount  需要充值的积分
     * @return java.lang.Integer
     */
    Integer saveEnterpriseIntegral(Integer id, BigDecimal amount);
}
